# -*- coding: utf-8 -*-
#元组是不可改变的   声明：tuple=()   tuple=(2,)
num=(3,2,3,4)
num1=(2,3,4)
list1=[2,3,4,'wangweiya']

#内置函数  cmp max min len tuple
print cmp(num,num1)  # 1
print max(num)       # 4
print min(num)       # 2
print len(num)       # 4
new_tuple=tuple(list1)
print new_tuple   # (2, 3, 4, 'wangweiya')
print max(new_tuple)  #数字最小

#元组运算
num2=(2,)
num3=(3,4)
print num2*2    #(2, 2)
print num2+num3 #(2, 3, 4)
print 3 in num3 # True
for i in num3:
	print i,    # 3 4
print
print '============================================'	
#元组截断，取值
num4=(1,2,3,4,5)
print num4[2]   #  3
print num4[0:]  # (1, 2, 3, 4, 5)
print num4[1:4] # (2, 3, 4)
print num4[-2:] # (4, 5)

#声明一个tuple必须加','   因为括号()既可以表示tuple，又可以表示数学公式中的小括号。
tuple1=(2)
tuple2=(2,)
print tuple1  # 2  
print tuple2  #(2,)

"""
元组与列表的区别，元组它的关键是不可变性。
如果在程序中以列表的形式传递一个对象的集合，它可能在任何地方改变；如果使用元组的话，则不能。
元组提供了一种完整的约束。
"""

